package com.fowo.api.model.adjustment.order.product;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.excel.ImageConvert;
import com.fowo.api.sys.entity.SysFile;
import java.util.List;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 调整单子表 导入导出辅助模型 */
@Getter
@Setter
public class AdjustmentOrderProductExcelPo {

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属调整单")
  private String parentAdjustmentOrderOrderSn;

  @ExcelIgnore
  @ExcelProperty(value = "所属调整单")
  private Long parentAdjustmentOrder;

  @Size(max = 50, message = "图片长度不能超过20")
  @ExcelProperty(value = "图片", converter = ImageConvert.class)
  private List<SysFile> picUrl;

  @Size(max = 100, message = "品名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品名")
  private String prdNameName;

  @ExcelIgnore
  @ExcelProperty(value = "品名")
  private Long prdName;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String sku;

  @Size(max = 50, message = "产品标签长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "产品标签")
  private String prdLabel;

  @Size(max = 50, message = "店铺长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺")
  private String shopShopName;

  @ExcelIgnore
  @ExcelProperty(value = "店铺")
  private Long shop;

  @Size(max = 50, message = "FNSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "FNSKU")
  private String fnskuFnsku;

  @ExcelIgnore
  @ExcelProperty(value = "FNSKU")
  private Long fnsku;

  @Size(max = 100, message = "新品名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "新品名")
  private String newPrdNameName;

  @ExcelIgnore
  @ExcelProperty(value = "新品名")
  private Long newPrdName;

  @Size(max = 50, message = "新SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "新SKU")
  private String newSku;

  @Size(max = 50, message = "新店铺长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "新店铺")
  private String newShopShopName;

  @ExcelIgnore
  @ExcelProperty(value = "新店铺")
  private Long newShop;

  @Size(max = 50, message = "新FNSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "新FNSKU")
  private String newFnskuFnsku;

  @ExcelIgnore
  @ExcelProperty(value = "新FNSKU")
  private Long newFnsku;

  @ExcelProperty(value = "可用量")
  private Long availbleNum;

  @ExcelProperty(value = "新可用量")
  private Long newAvailbleNum;

  @ExcelProperty(value = "可用调整量")
  private Long goodAdjustNum;

  @ExcelProperty(value = "次品量")
  private Long defectiveQuantity;

  @ExcelProperty(value = "次品调整量")
  private Long badAdjustNum;

  @ExcelProperty(value = "调整量")
  private Long adjustmentAmount;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "出库仓位")
  private String goodWarehouseBinStorageBin;

  @ExcelIgnore
  @ExcelProperty(value = "出库仓位")
  private Long goodWarehouseBin;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "次品仓位")
  private String badWarehouseBinStorageBin;

  @ExcelIgnore
  @ExcelProperty(value = "次品仓位")
  private Long badWarehouseBin;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "入库仓位")
  private String newGoodWhbStorageBin;

  @ExcelIgnore
  @ExcelProperty(value = "入库仓位")
  private Long newGoodWhb;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "新次品仓位")
  private String newBadWhbStorageBin;

  @ExcelIgnore
  @ExcelProperty(value = "新次品仓位")
  private Long newBadWhb;

  @Size(max = 50, message = "备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "备注")
  private String remark;

  @ExcelProperty(value = "库存")
  private Long inventoryIdId;

  @ExcelIgnore
  @ExcelProperty(value = "库存")
  private Long inventoryId;
}
